package map;

import java.util.HashMap;
import java.util.Map;

/**
 * Map 查找表
 * Map是一种常用的数据结构,它体现的样子是一个多行两列的表格
 * 其中
 */
public class MapDemo {
    public static void main(String[] args) {
        Map <String,Integer>map = new HashMap<>();
        /*
        V put(K k , V v)
        向Map中添加一组键值对
         */
        Integer value = map.put("语文", 99);
        //没有这个key时,返回值为null
        System.out.println("value" + value);
        map.put("数学",98);
        map.put("语文",94);
        map.put("英语",79);
        map.put("物理",89);
        map.put("化学",96);
        map.put("生物",95);
        System.out.println(map);
        //使用重复的key存在时为替换value,此时返回值为被替换的value
        value = map.put("英语",10);//value 为英语原来对应的79
        System.out.println("value" + value);
        System.out.println(map);

        int size = map.size();
        System.out.println("size:" + size);

        value = map.get("语文");
        System.out.println("语文:" + value);
        value = map.get("历史");
        System.out.println("历史:" + value);

        /*
        V remove(ObJect key)
        根据给定的Key删除对应的键值对,返回值为这个key对应的value
         */
        value = map.remove("英语");
        System.out.println(map);
        System.out.println(value);

        map.containsKey("化学");
        System.out.println(map);
        System.out.println(value);

        /*
        判断当前Map是否包含给定的Key或value
         */
        boolean ck = map.containsKey("化学");
        boolean cv = map.containsValue(96);
        System.out.println("是否包含该ket:" + ck);
        System.out.println("是否包含value:" + cv);

    }
}
